package com.wh.hotel.service.strategy.room;

import com.wh.hotel.param.HotelQueryRoomParam;
import com.wh.hotel.po.SuitHotelRoomPo;
import com.wh.hotel.vo.HotelPriceStrategyVo;

import java.util.List;

/**
 * @author luweije
 */
public interface SuitRangeTemplate {

    /**
     * 是否命中策略strategyVo
     * @param param hotelId，roomTypeID
     * @param strategyVo 需要判断的策略
     * @return 是否命中
     */
    boolean isHit(HotelQueryRoomParam param, HotelPriceStrategyVo strategyVo);

    /**
     * 计算满足策略的所有酒店-房型id
     *
     * @param strategyVo 策略
     * @return 满足条件的房型
     */
    List<SuitHotelRoomPo> calculateRoomSuitRange(HotelPriceStrategyVo strategyVo);
}
